#ifndef __EXCEPTION_H_
#define __EXCEPTION_H_
#include <exception>
#include <string>
struct Exception : public std::exception {
    std::string msg;
    Exception(std::string msg = "Exception");
    const char * what() const throw();
};
struct SocketException : public Exception {
    std::string msg;
    SocketException(std::string msg = "SocketException");
    const char * what() const throw();
};

struct TimeoutException : public Exception {
    const char * what() const throw();
};


struct TaskFailedException : public Exception {
    std::string msg;
    TaskFailedException(std::string msg = "");
    const char * what() const throw();
};
#endif